/**
 * 将整数转换为字符串, num >= 10000 时以k结尾，保留一位小数，四舍五入，加千分符
 * @param num 整数值
 * @returns string | number
 */
export function formatNumber(number: number | string): string {
  const numericValue = typeof number === 'number' ? number : parseFloat(number);

  if (isNaN(numericValue)) {
    return '0';
  }

  if (numericValue >= 10000) {
    const formattedNumber = (numericValue / 1000).toFixed(1);
    const trimmedNumber = formattedNumber.endsWith('.0') ? formattedNumber.slice(0, -2) : formattedNumber;
    return `${parseFloat(trimmedNumber).toLocaleString()}k`;
  } else {
    return numericValue.toLocaleString();
  }
}

/**
 * 将整数转换为字符串 并每隔三位加逗号
 * @param num 整数值
 * @returns string
 */
export function numToLocale(number: number | string): string {
  const numericValue = typeof number === 'number' ? number : parseFloat(number);
  return Number(numericValue).toLocaleString();
}
